package org.jeecg.modules.goldentry.entity;

import java.io.Serializable;

import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description:  金出入库
 * @Author: jerryzhu
 * @Date:   2021-11-15
 * @Version: V1.0
 */
@Data
@TableName("gold_entry")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="gold_entry对象", description=" 金出入库")
public class GoldEntry implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
	
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    
	/**类型*/
	@Excel(name = "类型", width = 15, dicCode = "gold_action_type")
	@Dict(dicCode = "gold_action_type")
    @ApiModelProperty(value = "操作类型")
    private java.lang.Integer goldActionType;
	
	/**订单号*/
	@Excel(name = "订单号", width = 15)
    @ApiModelProperty(value = "订单号")
    private java.lang.String orderCodeNum;
	
	/**工单号*/
	@Excel(name = "工单号", width = 15)
    @ApiModelProperty(value = "工单号")
    private java.lang.String workNum;
	
	/**拆分页*/
    @ApiModelProperty(value = "拆分页")
    private java.lang.String pn;
    
	/**款号*/
	@Excel(name = "款号", width = 15)
    @ApiModelProperty(value = "款号")
    private java.lang.String styleCodeNum;
	
	/**成色*/
	@Excel(name = "成色", width = 15, dictTable = "gold_karat", dicText = "gold_karat_name", dicCode = "id")
	@Dict(dictTable = "gold_karat", dicText = "gold_karat_name", dicCode = "id")
    @ApiModelProperty(value = "成色")
    private java.lang.String karat;
	
	/**来料名称*/
	@Excel(name = "来料名称", width = 15)
    @ApiModelProperty(value = "来料名称")
    private java.lang.String name;
	
	/**种类*/
	@Excel(name = "种类", width = 15, dicCode = "gold_type")
	@Dict(dicCode = "gold_type")
    @ApiModelProperty(value = "种类")
    private java.lang.String cate;
	
	/**规格*/
	@Excel(name = "规格", width = 15)
    @ApiModelProperty(value = "规格")
    private java.lang.String style;
	
	/**数量*/
	@Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private java.lang.Integer count;
	
	/**连石重*/
	@Excel(name = "连石重", width = 15)
    @ApiModelProperty(value = "连石重")
    private java.math.BigDecimal withStoneWeight;
	
	/**石重(ct)*/
	@Excel(name = "石重(ct)", width = 15)
    @ApiModelProperty(value = "石重(ct)")
    private java.math.BigDecimal pureStoneWeight;
	
	/**净重*/
	@Excel(name = "净重", width = 15)
    @ApiModelProperty(value = "净重")
    private java.math.BigDecimal goldWeight;
	
	/**单价（￥）*/
	@Excel(name = "单价(￥)", width = 15)
    @ApiModelProperty(value = "单价(￥)")
    private java.math.BigDecimal unitPrice;
	
	/**价值金额(￥)*/
	@Excel(name = "价值金额(￥)", width = 15)
    @ApiModelProperty(value = "价值金额(￥)")
    private java.math.BigDecimal costAmount;
	
	/**实付金额(￥)*/
	@Excel(name = "实付金额(￥)", width = 15)
    @ApiModelProperty(value = "实付金额(￥)")
    private java.math.BigDecimal payAmount;
	
	/**耗率(%)*/
	@Excel(name = "耗率(%)", width = 15)
    @ApiModelProperty(value = "耗率(%)")
    private java.math.BigDecimal attritionRate;
	
	/**给耗重*/
	@Excel(name = "给耗重", width = 15)
    @ApiModelProperty(value = "给耗重")
    private java.math.BigDecimal giveAttrition;
	
	/**不计耗重*/
	@Excel(name = "不计耗重", width = 15)
    @ApiModelProperty(value = "不计耗重")
    private java.math.BigDecimal noAttritionWeight;
	
	/**工费*/
	@Excel(name = "工费", width = 15)
    @ApiModelProperty(value = "工费")
    private java.math.BigDecimal procedureUnitPrice;
	
	/**折足率(%)*/
	@Excel(name = "折足率(%)", width = 15)
    @ApiModelProperty(value = "折足率(%)")
    private java.math.BigDecimal goldContent;
	
	/**折足重*/
	@Excel(name = "折足重", width = 15)
    @ApiModelProperty(value = "折足重")
    private java.math.BigDecimal goldContentWeight;
	
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private java.lang.String remark;
	
	/**操作流水号*/
	@Excel(name = "操作流水号", width = 15)
	@ApiModelProperty(value = "操作流水号")
    private java.lang.String sn;
	
	/**采购单号*/
	@Excel(name = "采购单号", width = 15)
    @ApiModelProperty(value = "采购单号")
    private java.lang.String purchaseOrderNum;
	
	/**发出员工*/
	@Excel(name = "发出员工", width = 15)
    @ApiModelProperty(value = "发出员工")
    private java.lang.String sendPerson;
	
	/**发出仓库*/
	@Excel(name = "发出仓库", width = 15)
    @ApiModelProperty(value = "发出仓库")
    private java.lang.String sendStorage;
	
	/**发出客户*/
	@Excel(name = "发出客户", width = 15)
    @ApiModelProperty(value = "发出客户")
    private java.lang.String sendCustomer;
	
	/**发出时间*/
	@Excel(name = "发出时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发出时间")
    private java.util.Date sendTime;
	
	/**接收员工*/
	@Excel(name = "接收员工", width = 15)
    @ApiModelProperty(value = "接收员工")
    private java.lang.String receivePerson;
	
	/**接收仓库*/
	@Excel(name = "接收仓库", width = 15)
    @ApiModelProperty(value = "接收仓库")
    private java.lang.String receiveStorage;
	
	
	/**接收客户*/
	@Excel(name = "接收客户", width = 15)
    @ApiModelProperty(value = "接收客户")
    private java.lang.String receiveCustomer;
	
	/**接收时间*/
	@Excel(name = "接收时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "接收时间")
    private java.util.Date receiveTime;
	
	/**状态*/
	@Excel(name = "状态", width = 15, dicCode = "del_flag")
    @ApiModelProperty(value = "状态")	
    @Dict(dicCode = "del_flag")
    private java.lang.String isDel;
	
	//发出方（仅用于列表显示，不作数据库字段）
	private transient String senderName;
	
	//接收方（仅用于列表显示，不作数据库字段）
	private transient String receiverName;
}
